c++ - CRT 和 WIN32 API
全部标签 在此方面,我将真诚地感谢您的帮助。我花了几个小时试图解决它。我用VCPP6(是的,我知道。不用告诉我)写了一个小扩展,在XP下使用IExtractImage在资源管理器中将特定DOS文件的内容显示为缩略图。事实证明调试很容易——我关闭了资源管理器并按了F5。单击所需类型的文件会生成缩略图。断点全部激活。升级到VS2012(同样发生在VS2013Express上)并使用IThumbnailProvider,相同的序列不起作用。程序本身可以运行。我可以在7和8.1中显示缩略图。我不能做的是通过资源管理器调试它。我可以使用SDK(ThumbnailProvider)中的示例调试它,但不能使用
我已经建立了一个UDP套接字:receiveSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);然后我修改套接字参数以使用大于默认缓冲区(例如100,000字节):bufferSize=100000;bufferSizeLen=sizeof(bufferSize);setsockopt(receiveSocket,SOL_SOCKET,SO_RCVBUF,(char*)&bufferSize,bufferSizeLen);稍后,我想查询套接字以了解缓冲区中当前存储了多少数据(即有多少数据报等待通过调用recv()检索).有办法吗?
我有一个服务器,它为每个传入请求生成一个新进程或线程,我需要从线程和进程读取和写入在该服务器中定义的变量。由于服务器程序需要同时在UNIX和Windows上运行,我需要以可移植的方式共享变量,但我该怎么做呢?我需要使用标准C库或native系统调用,所以请不要推荐第三方库。 最佳答案 sharedmemory是特定于操作系统的。在Linux上,考虑阅读shm_overview(7)和(因为使用共享内存,你总是需要某种方式来同步)sem_overview(7).当然,您需要找出相似(但可能不等同)的Windows函数调用。注意thre
我正在尝试使用JenkinsPowerShell插件运行PowerShell脚本,但该脚本产生以下错误:“错误:目标系统必须运行32位操作系统”从服务器在Windows2008R2服务器上运行,脚本在本地和远程从我的Windows7/x64桌面运行良好,但它不会通过插件运行。我还尝试使用Windows批处理命令插件运行它,但这也不起作用-同样的错误消息。我缩小了问题范围并找到了产生错误的行:$results=openfiles/query/focsv|Select-String$versionPath看起来问题是由OPENFILES命令引起的,我认为这是因为Jenkins启动了x86版
我有以下函数指针声明:externlong(__stdcall*FooPtr)(int*i);也就是说,一个函数指针指向一个函数,该函数将使用stdcall调用约定(在VS术语中)调用。我怎样才能翻译这个声明让clang理解它? 最佳答案 __attribute__((stdcall))是正确答案:clang支持thefollowinglistofattributes在语法上,它与gcc的非常相似。例如#ifdefined(__clang__)||defined(__GNUC__)#definestdCallConv__attrib
我在Windows上尝试通过SSL使用cURL,但遇到了我绝对无法弄清楚的证书问题。例如,这是我正在尝试运行的示例。$curl"https://google.com"--ntlm-v--negotiate-uUSERNAME:PASSWORD--proxy"PROXY"--cert"c:\temp\curl-ca-bundle.crt"*Addinghandle:conn:0x147ce88*Addinghandle:send:0*Addinghandle:recv:0*Curl_addHandleToPipeline:length:1*-Conn0(0x147ce88)send_pi
有谁知道如何使用C中的WindowsApi来检测SD卡读卡器是否插入了卡?平台:windowsxp/visa/7/8。我用谷歌搜索并查看了WindowsAPI文档(我不熟悉它,所以可能错过了很多),但一直找不到答案。我看过这篇文章HowcanIdetectwhenanSDcardispluggedin?-这很接近但没有给我我需要的东西,因为我不想检测状态的变化,而是在查询时它处于什么状态。(如果碰巧有人有这个的Ada实现,那就太棒了,否则我打算只与C链接)谢谢你的帮助马特 最佳答案 我使用WindowsAPI调用GetVolumeI
我尝试编译的代码片段是这样的VOIDPTSetPageAttributexxyy(INUINT642g,INUINT64Base,INUINT64Length,INUINT32Ra,INUINT32Wa,INUINT32Xa,INMY_ATTRIBUTE_SETTINGsetting);我得到:errorC2059:syntaxerror:'badsuffixonnumber'用cl.exevc编译器 最佳答案 参数名称2g无效。它必须以字母或_开头。 关于c-错误C2059:synta
我对数字签名有疑问。我明白,如果一个可执行文件或dll被签名,当我右键单击该文件时,我将能够看到“数字签名”选项卡。但是当我右键单击kernel32.dll时,它没有显示这个选项卡(“数字签名”),但我知道这个文件是由Microsoft签名的。此dll(kernel32.dll)有一些对WinVerifyTrust的引用,这些引用不存在于常规数字签名的exe或dll中。谁能解释一下系统dll的签名与常规dll的签名有何不同?什么是wintrust.dll文件?我按如下方式签署常规dll:signtoolsign/v/fMySPC.pfxmydll.dll但我确信系统dll没有以这种方式
我在Window764位上,并尝试在同一系统上同时使用AnacondaPython64位和32位发行版。我希望能够构建用于分发的Windows32位可执行文件(使用py2exe),这需要使用32位python解释器。我之前已经将AnacondaPython64位安装到C:\Anaconda。我现在已经将32位AnacondaPython发行版安装到C:\Anaconda32。但是,当我尝试从C:\Anaconda32\python.exe运行python解释器时,它会将64位环境加载到我的sys.path中。结果是由于32位进程试图执行64位库(我认为),许多库调用失败。我还尝试编辑c